The present invention relates to a network printer having a function for receiving print job data from a communication network and printing the data.
FIG. 1 shows an arrangement of a related network printer.
A printer 1 normally includes a parallel interface (I/F) 11 so that the printer can be directly connected to a host computer 3, which is usually single, through a dedicated cable 7 in one to one correspondence by means of the parallel interface 11. In the case where the printer 1 is commonly used by a plurality of host computers in a company or the like, the printer 1 is coupled to a communication network 9 such as a local area network (LAN) within the company. In this case, a network interface board 5 as an optional part is additionally installed within the printer 1, whereby the communication network 9 is coupled to the printer 1 through the network interface board 5.
The network interface board 5 includes its own central processing unit (CPU) 23 which operates asynchronously with a CPU 17 of the printer 1. The CPU 23 executes the communication protocol thereby to extract print job data from a packet received through the communication network 9 to temporarily store the print job data in a dynamic random access memory (DRAM) 25 on the board 5 and thereafter to send the print job data thus stored to the printer 1. The printer 1 processes both the print job data sent from the network interface board 5 and the print job data inputted from the parallel interface 11 in the same manner (for example, a DMA (direct memory access) controller 15 writes the print job data into a DRAM 19 within the printer 1 and the CPU 17 image-develops the print job data) and prints the print job data thus processed.
As described above, the related printer requires the network interface board 5 in the case of coupling the printer to the network. However, the network interface board 5 includes the own CPU 23 and the DRAM 25, and further the CPU 23 operates at a high speed and the DRAM 25 has a large capacity in order to attain the high-performance, and so they are expensive consequentially. Thus, the network interface board is very expensive.
In the case of performing the bi-directional communications between the printer and the host computer, the complicated protocol corresponding to the bi-directional communications is required at two portions, that is a portion between the host computer 3 and the network interface board 5 and a portion between the network interface board 5 and the main body of the printer. Further, due to the presence of the network interface board 5, an amount of data to be copied between memories becomes large. As a result, the performance of the printer degrades, which results in a serious problem at the time of developing a high-speed network printer.
Accordingly, a first object of the present invention is to provide a cheaper network printer.
A second object of the present invention is to provide a network printer which does not require a network interface board.
A third object of the present invention is to provide a high-speed network printer.
In order to achieve the aforesaid objects, according to the present invention, there is provided a network printer connectable to a communication network, comprising: a central processing unit (CPU); a random access memory (RAM) utilized by the CPU; a network interface, coupled to the communication network, for receiving a packet containing print job data from a host device through the communication network; packet storage means for receiving the packet from the network interface and writing the packet into the RAM; and print image generating means for generating a raster image. The CPU includes: a communication task for extracting the print job data from the packet within the RAM and writing the extracted print job data into the RAM; and a language task for interpreting the print job data within the RAM. The print image generating means generates the raster image on a basis of a result of the interpretation of the language task.
According to such a network printer, since the CPU provided within the main body of the printer can extract the print job data from the packet received from the network, interpret the print job data and generate print image, it is not necessary to provide a network interface board having a CPU which is provided separately from the CPU of the main body of the printer. Accordingly, the printer can be made cheaper and operated with a higher speed due to the elimination of such a network interface board.
The means for writing a packet received by the network interface into the RAM may be one of interruption processings performed by the CPU, for example, or a DMA controller provided separately from the CPU.
According to a preferred embodiment, the generation of the print image is also executed by the task (print task) of the CPU. Of the communication, language and print tasks, the print task is provided with a highest priority level, the communication task is provided with a secondary priority level, and the language task is provided with a lowest priority level, wherein the CPU executes the communication, language and print tasks in a order of higher priority task. Since the print task has the highest priority level, particularly in the case of performing the print operation in an electrophotographic method, it is possible to minimize such a delay that the generation of raster image is delayed relative to the print speed of the print engine. Further, since the priority level of the communication task is set to be higher than that of the language task, the host device (host computer) can be released at an early stage, advantageously.
The print image may be generated by a dedicated hardware such as a gate array in place of the print task.
In a preferred embodiment, the network printer comprises, in addition to the network interface, a host interface coupled directly (that is, without through a network) to the host device unlike a parallel interface. The means for writing the data received by the host interface into the RAM may be the interruption processing performed by the CPU, for example, or the DMA controller.